home *** CD-ROM | disk | FTP | other *** search
/ Aminet 1 (Walnut Creek) / Aminet - June 1993 [Walnut Creek].iso / aminet / util / gnu / gnuemac_dev1_1.lha / Readme < prev   
Text File  |  1992-12-20  |  6KB  |  170 lines

  1.                            Gnuemacs development package
  2.                                 by Cedric BEUST
  3.  
  4.  
  5. This is a set of gnuemacs-related utilities that I personally use for development
  6. on the Amiga. Since many other Amiga-programmers may be using gnuemacs for their
  7. work just like me, I thought they might enjoy finding similar tools back on their
  8. Amiga. Redistribute all of them freely, modify them, or do what you like with them.
  9. As long as no money is involved, you don't have to worry about anything. Remember :
  10. the emacs-lisp packages are under the GNU General Public License.
  11.  
  12. Contents of this archive :
  13.  
  14.       cpr.el        A gdb-like mode for use with SAS/C's CPR debugger.
  15.       autodocs.el    Facility to consult autodocs (or Amigaguide) within emacs.
  16.       ed        CygnusEd-like ed command (written in Arexx).
  17.  
  18.       comint.el         An improved shell-mode, delivered as is (not modified in
  19.                         any way, provided for convenience with cpr.el).
  20.  
  21.  
  22. A reasonable knowledge of gnuemacs packages is assumed in order to use the two
  23. .el files, so I won't go into details too deeply (byte-compiling, remapping the
  24. keys, etc...). After all, there's little chance someone unfamiliar with gnuemacs
  25. would switch from their regular Amiga editor to gnuemacs. In other words : if you
  26. want a CPR-mode, you are already using the gdb-mode so you know the minimum on 
  27. this topic...
  28.  
  29. Remember that on the Amiga, the meta key is mapped both to ESC and Left-Alt. So
  30. when you see the indication M-s, you can get it by pressing either 'Esc s' or
  31. 'Left-amiga s'.
  32.  
  33.  
  34. cpr.el
  35. ------
  36.  
  37.   INSTALLING cpr.el
  38.  
  39.       Copy this file into the directory gnuemacs:lisp/. This mode requires the
  40.       file comint.el to work, so you must copy this file there too. Load the file
  41.       s:.emacs and add the following line :
  42.  
  43. (load "cpr.el")
  44.  
  45.  
  46.   USING cpr.el
  47.  
  48.       Then invoke the mode with 'M-x cpr'. All the rest is pretty straightforward.
  49.       The main keys used in this mode are :
  50.  
  51. M-s       Steps by one line, and redisplays the source file and line.
  52. M-SPC     Steps one source line over functions
  53. M-c       Continues normal running
  54. C-x spc   Define a breakpoint on line under the cursor (in source file)
  55.  
  56. M-p       Recall the previous line in the history
  57. M-n       Recall the next line in the history
  58.  
  59.       See the mode help for more details (C-h m).
  60.  
  61.       These last two mappings come from the comint mode, used as the underlying
  62.       mode instead of the shell-mode. If you only know shell.el, you will
  63.       probably be most interested in the comint-mode.
  64.  
  65.  
  66.   POSSIBLE BUGS
  67.  
  68.       Due to CPR's strange way of setting breakpoints (it requires the line number
  69.       AND the function that contains it!), I had to add a function to compute
  70.       the C-function containing the line the cursor is in. This function might
  71.       fail if you use a very non-standard indentation style. The only assumption
  72.       is that a function name is followed by an opening brace ({) at the beginning
  73.       of the line. If you don't use this style, adapt the regular expression
  74.       "^{} in the function cpr-function-name, or change your style (latter strongly
  75.       suggested :-)).
  76.  
  77.  
  78.  
  79.  
  80. autodocs.el
  81. -----------
  82.  
  83.   INSTALLING autodocs.el
  84.  
  85.       Copy this file into the directory gnuemacs:lisp/ and add the following line
  86.       in your s:.emacs file :
  87.  
  88. (load "autodocs.el")
  89.  
  90.  
  91.   USING autodocs.el
  92.  
  93.       This package allows you to ask the autodocs about the function or structure
  94.       pointed to by the cursor. If an Amigaguide autodoc exists, it will be displayed,
  95.       otherwise, a regular .doc will be loaded in emacs. When loaded, the packages
  96.       assigns the key F2 to the main function. For example, put your cursor in the
  97.       word OpenWindow() and press F2.
  98.  
  99.       So that gnuemacs can find the proper library, there must be a file listing
  100.       all the functions and their home library. If you own Amigaguide, this file
  101.       will be automatically generated by the program AD2HT with the XREF option.
  102.       Otherwise, you will have to create it yourself. Its format is most simple :
  103.       one line per function, two words per line : the function and its library.
  104.       For example :
  105.  
  106.     "AddLibrary()"            "exec"
  107.     "AddMemHandler()"            "exec"
  108.     "AddMemList()"            "exec"
  109.  
  110.       The file must be called "Autodocs.XRef" and be located somewhere in the
  111.       Amigaguide path (you can create it even if you don't have Amigaguide).
  112.       Suppose you created your file as "DH0:Docs/Autodocs.xref", all you have
  113.       to do is :
  114.  
  115. 1> setenv Amigaguide/path DH0:Docs
  116.  
  117.       See the various variables controlling this as defvars' in the autodocs.el
  118.       file.
  119.  
  120.       If gnuemacs can't find the appropriate Amigaguide file, it will search in the
  121.       Autodocs: directory for a regular ASCII autodoc and load it in a separate
  122.       buffer.
  123.  
  124.  
  125.   POSSIBLE BUGS
  126.  
  127.       The package might fail if the cursor is on the first character of the word,
  128.       so your best bet is to put the cursor in the middle of the word. It will also
  129.       fail if the word contains a _ (strange way of gnuemacs to guess what a word
  130.       is). I'll fix these bugs very shortly.
  131.  
  132.       The commands launching is very kludgy (use of Arexx) because process detachment
  133.       wasn't working when I first wrote these lines. It can be greatly improved
  134.       too.
  135.  
  136.  
  137.       
  138.  
  139. Ed
  140. --
  141.  
  142.   USING ED
  143.  
  144.       Ed is a very short Arexx program to emulate CygnusEd Ed's command.
  145.  
  146.       Its arguments are a list of files to load in emacs. If gnuemacs isn't loaded
  147.       yet, it is loaded automatically. Then the argument files are loaded, one
  148.       per buffer. This command can be used as a dock in Toolmanager for example,
  149.       so you can merely drag a text file into it and see you gnuemacs screen
  150.       pop up with the file displayed.
  151.  
  152.  
  153.   POSSIBLE BUGS
  154.  
  155.       Ed assumes the existence of Bin:PSX. PSX is a public screen management
  156.       utility by Steve Tibbett which use is strongly encouraged...
  157.  
  158.  
  159. One last word
  160. -------------
  161.  
  162.       I never intended to ever release these tools but there has been so much
  163.       demands that I felt compelled to wrap up a quick distribution. Be tolerant
  164.       with it and report any problems to me for a future distribution...
  165.  
  166.  
  167. Cedric BEUST
  168. beust@sa.inria.fr
  169.  
  170.